Xamarin nedir? Ne işe yarar?
Selamlar,
Xamarin hakkında biraz eleştiri yapacağımı söylemiştim. Xamarin'in ne olduğunu ve ne işe yaradığını açıklayarak başlayayım.
Xamarin, .NET platformunda Android ve iOS uygulamaları geliştirmenize olanak sağlayan bir platform.
iOS veya Android'de uygulama geliştirirken kodlama şekli .NET'e dönüştürülmüş haliyle yapılıyor. Yani ayrı olarak platform yapısını öğrenmeniz gerekecek. Diyelim ki Eclipse'de siz zaten Android geliştirebiliyorsanız ve bu dili öğrendiyseniz, Visual Studio üzerinde bunu .NET'e çevrilirek yazılıyor. Birebir değil yani. Haliyle bunu da öğrenmek zorundasınız ki bu da bir emek demek.
iOS simulatörü tırt. Mac bir bilgisayara ihtiyacınız var. Bir iOS uygulamasının debug edilebilmesi için Xamarin Build Host'a ihtiyacınız var ve bunu de Mac'de çalıştırmalısınız. Mac'de çalıştırırken de Windows makinenizin VS'yle iletişim halinde tutmalısınız. Pair ediliyor. Hatalarla karşılaşabilirsiniz.
Mac ve Windows makinelere trial edition ayrı kuruluyor. Xamarin Build Host ayrıca indiriliyor, güncellemeniz gerekiyor. 1,5 GB boyutunda bir platformu her iki pc için de ayrı indirmeniz gerek.
Xamarin'in tek olayı Visual Studio IDE'sini size kullandırıyor olmasıdır. Gerideki özelliklerini zaten başka IDE'lerle de yapıyorsunuz. View ve process handle bilip takip ettiğinizde her platformda kod yazabilirsiniz.
Insan şunu sormadan edemiyor, ücretsiz ve sınırsız edindiğim XCode ve Eclipse varken ne diye 1000 dolar para verip seni kullanayım Xamarin? Bunu açıkla.
Android'i zaten Java ile yazıyoruz. C# ile benzer bir dil, öğrenimi daha kolay yani. .NET'in temel kütüphaneleri haricinde birçok farklı kütüphane öğrenmeyi gerektiriyor. iOS uygulama geliştirirken de böyle olacak. Xamarin ile birlikte iOS uygulama daha kolay geliştiriliyor ama kodlarınız optimize edilmiyor. Bu ne demek, şu demek: 4-5 satır kod yazdın, native language converting olurken loop olursa 5 KB ederi olan uygulama olur sana 300 KB.
Xamarin "bana göre" pek mantıklı bir olay değil.
Fiyatlandırması da efsane. Basic düzeyde yıllık 300$.
Not: Bu düzeyde VS entegrasyonu yok.
Business sürümü ise yıllık 1000$. E-Posta yardımı ve Business tool kullanımlarını içeriyor.
Enterprise sürümü ise yıllık 1800$. Teknik destek, güncelleştirme yamaları ve bir bu kadar daha özellikle geliyor.
Sözün özü şudur, siz zaten iOS için XCode'u, Android için Eclipse veya Android Studio'yu ücretsiz ediniyorsunuz. C#'ta geliştirmek için mi onlarca dolar para vereceksiniz? Akıl kârı değil.
Bu yüzden desteklemiyorum.
Kaynaklar: Ekşi, Uludağ, Wikipedia
Tabi kullanıp kullanmamak yine size kalmış bir şey.
Kolay gelsin,
Recep.